using System;

namespace UraniaLib
{
	/// <summary>
	/// Summary description for UraniaTelescope.
	/// </summary>
	public class UraniaTelescope
	{
		public UraniaTelescope()
		{
			//
			// TODO: Add constructor logic here
			//
		}

		public static double CalcFRatio(double FocalLen, double Aperture)
		{
			return FocalLen / Aperture;
		}

		public static double CalcFocalLen(double FRatio, double Aperture)
		{
			return FRatio * Aperture;
		}

		public static double CalcAperture(double FRatio, double FocalLen)
		{
			return FocalLen / FRatio;
		}

		public static double CalcWavelengthAiry(double pdAiryDiam, double pdApertureAiry)
		{
			return pdAiryDiam * pdApertureAiry / 1.22;
		}

		public static double CalcApertureAiry(double pdAiryDiam, double pdWavelengthAiry)
		{
			return pdWavelengthAiry * 1.22 / pdAiryDiam;
		}

		public static double CalcAiryDiam(double pdApertureAiry, double pdWavelengthAiry)
		{
			return pdWavelengthAiry * 1.22 / pdApertureAiry;
		}

		public static double CalcTeleFocalLenMag(double pdEPFocalLen, double pdMag)
		{
			return pdEPFocalLen * pdMag;
		}

		public static double CalcEPFocalLenMag(double pdTeleFocalLen, double pdMag)
		{
			return pdTeleFocalLen / pdMag;
		}

		public static double CalcMagnification(double pdTeleFocalLen, double pdEPFocalLen)
		{
			return pdTeleFocalLen / pdEPFocalLen;
		}
	}
}
